博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
登录之后更新导航
阅读量:4993 次
发布时间:2019-06-12

本文共 2930 字,大约阅读时间需要 9 分钟。

  1.  用上下文处理器app_context_processor定义函数
    1. 获取session中保存的值
    2. 返回字典
  2. 在父模板中更新导航,插入登录状态判断代码。
    1. 注意用{% ... %}表示指令。
    2. {
      { }}表示变量
  3. 完成注销功能。
    1. 清除session
    2. 跳转
          
      {% block title %}{% endblock %}base
      {% block head %}{% endblock %}
      {% block main %}{% endblock %}
      from flask import Flask,request,render_template,redirect,url_for,sessionfrom flask_sqlalchemy import SQLAlchemyimport configfrom functools import wrapsfrom  datetime import datetimeapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)class User(db.Model):    __tablename__='user'    id=db.Column(db.Integer,primary_key=True,autoincrement=True)    username = db.Column(db.String(20), nullable=False)    password = db.Column(db.String(20), nullable=False)    nickname = db.Column(db.String(50))#db.create_all()#增加数据#user=User(username = 'shanshan1',password = '111111')#db.session.add(user)#db.session.commit()#查询数据#user=User.query.filter(user.username == 'shanshan1').first()#print(user.id,user.username,user.password)#修改数据#user=User.query.filter(user.username == 'shanshan3').first()#user.password = '0000'#db.session.commit()#删除数据#user=User.query.filter(user.username == 'shanshan3').first()#db.session.delete(user)#db.session.commit()@app.route('/')def index():    return  render_template('shouye.html')@app.route(   '/manhua')def manhua():    return  render_template('manhua.html')@app.route('/login',methods=['GET','POST'])def login():    if request.method =='GET':        return render_template('denglu.html')    else:        name = request.form.get('name')        passw = request.form.get('password')        user = User.query.filter(User.username == name).first()    if user:       if user.password==passw:           session['user']=name           return redirect(url_for('manhua'))       else:           return "密码错误!"    else:        return "用户名不存在!"@app.context_processordef mycontext():    usern=session.get('user')    if usern:        return {
      'name':usern} else: return {}@app.route('/logout')def logout(): session.clear() return redirect(url_for('manhua'))@app.route("/register",methods=['GET','POST'])def register(): if request.method == 'GET': return render_template("zhuce.html") else: name = request.form.get('name') passw = request.form.get('password') user = User.query.filter(User.username == name).first() if user: return "用户名已存在!" else: user = User(username=name, password=passw) db.session.add(user) db.session.commit() return render_template("denglu.html")if __name__ == '__main__': app.run(debug=True)

           

       

       

转载于:https://www.cnblogs.com/33333-/p/7889878.html

你可能感兴趣的文章
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
查看>>
【转】Linux下nginx配置https协议访问的方法
查看>>
activemq集群搭建Demo
查看>>
zookeeper系列之通信模型(转)
查看>>
windows Phone 7如何实现background的情况下不丢失数据
查看>>
windowsphone 中文开源项目集合
查看>>
Unity3D:代码中改变Sprite
查看>>
代码生成器原理
查看>>
Exp3 免杀原理与实践
查看>>
[ZooKeeper] 1 基本概念
查看>>
面试整理:版本信息
查看>>
linux中通过lsof恢复删除的文件,前题是fd被占用。
查看>>
【插件开发】—— 6 SWT 复杂控件使用以及布局
查看>>
linux下Apache服务器使用入门----httpd.conf
查看>>
什么样虚拟主机才能满足电子商务网站性能要求
查看>>
使用dbutils进行数据库操作
查看>>
KS检验学习[转载]
查看>>
根据当前复选框状态,判断文本框是否可用
查看>>
MySQL两个最简单的delimiter的使用demo
查看>>
好久没写博客了
查看>>